Practical Aspects of Multi-stage Programming
نویسندگان
چکیده
High-level languages offer abstraction mechanisms that can reduce development time and improve software quality. But abstraction mechanisms often have an accumulative runtime overhead that can discourage their use. Multi-stage programming (MSP) languages offer constructs that make it possible to use abstraction mechanisms without paying a runtime overhead. This paper studies applying MSP to implementing dynamic programming (DP) problems. The study reveals that staging high-level implementations of DP algorithms naturally leads to a code explosion problem. In addition, it is common that high-level languages are not designed to deliver the kind of performance that is desirable in implementations of such algorithms. The paper proposes a solution to each of these two problems. Staged memoization is used for code explosion, and a kind of “offshoring” translation is used to address the second. For basic DP problems, the performance of the resulting specialized C implementations is almost always better than the hand-written generic C implementations.
منابع مشابه
A mixed integer linear programming formulation for a multi-stage, multi-Product, multi-vehicle aggregate production-distribution planning problem
In today’s competitive market place, companies seek an efficient structure of supply chain so as to provide customers with highest value and achieve competitive advantage. This requires a broader perspective than just the borders of an individual company during a supply chain. This paper investigates an aggregate production planning problem integrated with distribution issues in a supply chain ...
متن کاملA multi-stage stochastic programming for condition-based maintenance with proportional hazards model
Condition-Based Maintenance (CBM) optimization using Proportional Hazards Model (PHM) is a kind of maintenance optimization problem in which inspections of a system relevant to its failure rate depending on the age and value of covariates are performed in time intervals. The general approach for constructing a CBM based on PHM for a system is to minimize a long run average cost per unit of time...
متن کاملA Multi-Stage Single-Machine Replacement Strategy Using Stochastic Dynamic Programming
In this paper, the single machine replacement problem is being modeled into the frameworks of stochastic dynamic programming and control threshold policy, where some properties of the optimal values of the control thresholds are derived. Using these properties and by minimizing a cost function, the optimal values of two control thresholds for the time between productions of two successive nonco...
متن کاملA Stochastic Programming Approach for a Multi-Site Supply Chain Planning in Textile and Apparel Industry under Demand Uncertainty
In this study, a new stochastic model is proposed to deal with a multi-product, multi-period, multi-stage, multi-site production and transportation supply chain planning problem under demand uncertainty. A two-stage stochastic linear programming approach is used to maximize the expected profit. Decisions such as the production amount, the inventory level of finished and semi-finished product, t...
متن کاملRe-configuration of the Relief Network Considering Uncertain Demand and Link Failure in an Earthquake: A Multi-stage Stochastic Programming
Disasters inevitably trigger far-reaching consequences affecting all living things and the environment. Therefore, top managers and decision-makers in disaster management seek comprehensive approaches to evaluate facilities and network preparedness in dealing with the response phase of predicted disaster scenarios in terms of number of casualties, costs, and unmet demands. In this regard, pre...
متن کاملUsing Electromagnetism Algorithm for Determining the Number of kanbans in a Multi-stage Supply Chain System
This paper studies the multi-stage supply chain system (MSSCM) controlled by the kanban mechanism. In the kanban system, decision making is based on the number of kanbans as well as batch sizes. A kanban mechanism is employed to assist in linking different production processes in a supply chain system in order to implement the scope of just-in-time (JIT) philosophy. For a MSSCM, a mixed-integer...
متن کامل